import { } from './api.js'
import return_code from './return_code.js'
const install = (Vue, vm) => {
	/**
	 * 是否登录
	 */
	const isLogin = (state=1, mode=1) => {
		/**
		 * state:注册页样式, 1=正常样式 2=通行证样式
		 * mode:路由跳转模式，1=reLaunch 2=navigateTo
		 */
		vm.$u.vuex('login_or_register_state', state)
		// 如果没有token跳转到登录页
		const token = vm.vuex_token
		if (!token){
			// 获取到是哪个页面跳转过来的（来源页）使用了uniapp的getCurrentPages()函数实现的
			// 参考资料：https://uniapp.dcloud.io/collocation/frame/window
			const currentPage = getCurrentPages().pop()
			console.log("currentPage", currentPage);
			// 获取页面路径和请求参数
			const {options, route} = currentPage
			// 参数的key
			const optionsKeys = Object.keys(options)
			let params = ''
			if (optionsKeys.length !== 0){
				params = optionsKeys.reduce((pre, current) => {return `${pre}${current}=${options[current]}&`},'?').slice(0, -1)
			}
			// 缓存当前页，用于登录或注册之后跳转
			uni.setStorageSync('back_url', '/' + route + params)
			uni.showToast({title: '请登录',icon: 'none',duration: 1500});
			if (state === 1){
				if (mode === 1){
					uni.reLaunch({url: '/pages/auth/login'});
				}else{
					uni.navigateTo({url: '/pages/auth/login'});
				}
			}else if(state === 2){
				uni.navigateTo({url: '/pages/auth/login'});
			}
			return false
		}
		return true
	}
	// 其它工具
	
	vm.$u.utils = {
		isLogin
	}
}

export default {
	install
}